//
//  SSLAudioPlayer.h
//  SSLAudioPlay
//
//  Created by 恒达的mini on 2017/6/13.
//  Copyright © 2017年 孙世龙. All rights reserved.
/*
 本控件支持：
    本地音频播放、
    线上音频播放、
    暂停、
    切换音频、
    播放进度、总时长获取、
 使用方法如下：
 1、导入SSLAudioPlayer文件
 2、导入系统frameworks，AVFoundation，CFnetwork
 3、初始化单例[SSLAudioPlayer sharedInstance]
 4、设置音频地址initAudioPlayerByUrl
 5、预加载audio_prepare
 6、操作音频：audio_play、audio_pause等
 
 */
typedef enum{
    kPlay_Status_Unknown,
    kPlay_Status_Playing,
    kPlay_Status_Pause,
    kPlay_Status_Stop,
}PlayStatus;

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
@protocol SSLAudioPlayerDelegate <NSObject>
/*
 返回播放进度
 */
- (void)backAudioPlayProgress:(float)progress;
/*
 播放完成
 */
- (void)backAudioPlayFinish;
/*
 播放状态,用来更新播放按钮状态
 */
- (void)updatePlayBtnStatus:(BOOL)isPlay;
@end

@interface SSLAudioPlayer : NSObject<AVAudioPlayerDelegate>

@property (nonatomic,assign) id<SSLAudioPlayerDelegate>delegate;
@property (nonatomic,strong) AVAudioPlayer *player;//播放obj
@property (nonatomic,assign) PlayStatus    playStatus;
@property (nonatomic,strong) NSTimer       *timer;//计时器
/*
 单例
 */
+(instancetype)sharedInstance;
/*
 初始化播放器，输入音频地址
 */
- (void)initAudioPlayerByUrl:(NSURL*)audioUrl;
/*
 切换音频地址
 */
- (void)restAudioPathWith:(NSURL*)newPath;
/*
 获得总时长，秒数
 */
- (float)getAudioDuration;
/*
 获得当前秒数
 */
- (float)getCurrentTime;
/*
 根据秒数获得规定格式字符串，HH：MM：ss（时分秒）
 传入秒数
 */
- (NSString*)getTimeByFormateBy:(int)totalSecond;
/*
 预加载音频，在play之前调用
 */
- (BOOL)audio_prepare;
/*
 播放
 */
- (void)audio_play;
/*
 暂停
 */
- (void)audio_pause;
/*
 停止
 */
- (void)audio_revert;

@end
